using System.ComponentModel;

namespace Matrix.Notification.Domain.Shared.Notifications
{
    /// <summary>
    /// 通知类型枚举
    /// </summary>
    public enum NotificationType
    {
        /// <summary>
        /// 未指定
        /// </summary>
        [Description("未指定")]
        None = 0,

        /// <summary>
        /// 系统通知
        /// </summary>
        [Description("系统通知")]
        System = 1,

        /// <summary>
        /// 业务通知
        /// </summary>
        [Description("业务通知")]
        Business = 2,

        /// <summary>
        /// 安全通知
        /// </summary>
        [Description("安全通知")]
        Security = 3,

        /// <summary>
        /// 营销通知
        /// </summary>
        [Description("营销通知")]
        Marketing = 4,

        /// <summary>
        /// 账单通知
        /// </summary>
        [Description("账单通知")]
        Billing = 5,

        /// <summary>
        /// 维护通知
        /// </summary>
        [Description("维护通知")]
        Maintenance = 6,

        /// <summary>
        /// 审核通知
        /// </summary>
        [Description("审核通知")]
        Approval = 7,

        /// <summary>
        /// 提醒通知
        /// </summary>
        [Description("提醒通知")]
        Reminder = 8,

        /// <summary>
        /// 状态更新通知
        /// </summary>
        [Description("状态更新通知")]
        StatusUpdate = 9,

        /// <summary>
        /// 欢迎通知
        /// </summary>
        [Description("欢迎通知")]
        Welcome = 10,

        /// <summary>
        /// 密码重置通知
        /// </summary>
        [Description("密码重置通知")]
        PasswordReset = 11,

        /// <summary>
        /// 邀请通知
        /// </summary>
        [Description("邀请通知")]
        Invitation = 12,

        /// <summary>
        /// 反馈通知
        /// </summary>
        [Description("反馈通知")]
        Feedback = 13,

        /// <summary>
        /// 报告通知
        /// </summary>
        [Description("报告通知")]
        Report = 14,

        /// <summary>
        /// 警告通知
        /// </summary>
        [Description("警告通知")]
        Warning = 15,

        /// <summary>
        /// 错误通知
        /// </summary>
        [Description("错误通知")]
        Error = 16,

        /// <summary>
        /// 成功通知
        /// </summary>
        [Description("成功通知")]
        Success = 17,

        /// <summary>
        /// 信息通知
        /// </summary>
        [Description("信息通知")]
        Info = 18,

        /// <summary>
        /// 更新通知
        /// </summary>
        [Description("更新通知")]
        Update = 19,

        /// <summary>
        /// 删除通知
        /// </summary>
        [Description("删除通知")]
        Delete = 20
    }
}